
kernel/fork.o：     文件格式 elf32-i386
kernel/fork.o
体系结构：i386， 标志 0x00000011：
HAS_RELOC, HAS_SYMS
起始地址 0x00000000

节：
Idx Name          Size      VMA       LMA       File off  Algn
  0 .group        00000008  00000000  00000000  00000034  2**2
                  CONTENTS, READONLY, GROUP, LINK_ONCE_DISCARD
  1 .group        00000008  00000000  00000000  0000003c  2**2
                  CONTENTS, READONLY, GROUP, LINK_ONCE_DISCARD
  2 .group        00000008  00000000  00000000  00000044  2**2
                  CONTENTS, READONLY, GROUP, LINK_ONCE_DISCARD
  3 .text         00000480  00000000  00000000  0000004c  2**0
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  4 .data         00000000  00000000  00000000  000004cc  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  5 .bss          00000004  00000000  00000000  000004cc  2**2
                  ALLOC
  6 .rodata.str1.1 0000002d  00000000  00000000  000004cc  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 .text.__x86.get_pc_thunk.bx 00000004  00000000  00000000  000004f9  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  8 .text.__x86.get_pc_thunk.si 00000004  00000000  00000000  000004fd  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  9 .text.__x86.get_pc_thunk.bp 00000004  00000000  00000000  00000501  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 10 .comment      00000025  00000000  00000000  00000505  2**0
                  CONTENTS, READONLY
 11 .note.GNU-stack 00000000  00000000  00000000  0000052a  2**0
                  CONTENTS, READONLY
 12 .note.gnu.property 0000001c  00000000  00000000  0000052c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 13 .eh_frame     00000180  00000000  00000000  00000548  2**2
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
SYMBOL TABLE:
00000000 l    df *ABS*	00000000 fork.c
00000000 l    d  .text	00000000 .text
00000000 l    d  .data	00000000 .data
00000000 l    d  .bss	00000000 .bss
00000000 l    d  .rodata.str1.1	00000000 .rodata.str1.1
00000000 l    d  .text.__x86.get_pc_thunk.bx	00000000 .text.__x86.get_pc_thunk.bx
00000000 l    d  .text.__x86.get_pc_thunk.si	00000000 .text.__x86.get_pc_thunk.si
00000000 l    d  .text.__x86.get_pc_thunk.bp	00000000 .text.__x86.get_pc_thunk.bp
00000000 l    d  .note.GNU-stack	00000000 .note.GNU-stack
00000000 l    d  .note.gnu.property	00000000 .note.gnu.property
00000000 l    d  .eh_frame	00000000 .eh_frame
00000000 l       .rodata.str1.1	00000000 .LC0
0000001e l       .rodata.str1.1	00000000 .LC1
00000000 l    d  .comment	00000000 .comment
00000000 l    d  .group	00000000 .group
00000000 l    d  .group	00000000 .group
00000000 l    d  .group	00000000 .group
00000000 g     F .text	00000074 verify_area
00000000 g     F .text.__x86.get_pc_thunk.bx	00000000 .hidden __x86.get_pc_thunk.bx
00000000         *UND*	00000000 _GLOBAL_OFFSET_TABLE_
00000000         *UND*	00000000 current
00000000         *UND*	00000000 write_verify
00000074 g     F .text	000000fc copy_mem
00000000         *UND*	00000000 copy_page_tables
00000000         *UND*	00000000 panic
00000000         *UND*	00000000 free_page_tables
00000170 g     F .text	000002a0 copy_process
00000000 g     F .text.__x86.get_pc_thunk.bp	00000000 .hidden __x86.get_pc_thunk.bp
00000000         *UND*	00000000 get_free_page
00000000 g     O .bss	00000004 last_pid
00000000         *UND*	00000000 jiffies
00000000         *UND*	00000000 last_task_used_math
00000000         *UND*	00000000 free_page
00000000         *UND*	00000000 gdt
00000000         *UND*	00000000 task
00000410 g     F .text	00000070 find_empty_process
00000000 g     F .text.__x86.get_pc_thunk.si	00000000 .hidden __x86.get_pc_thunk.si


Contents of section .group:
 0000 01000000 09000000                    ........        
Contents of section .group:
 0000 01000000 0a000000                    ........        
Contents of section .group:
 0000 01000000 0b000000                    ........        
Contents of section .text:
 0000 f30f1efb 575653e8 fcffffff 81c30200  ....WVS.........
 0010 00008b74 241089f0 25ff0f00 00034424  ...t$...%.....D$
 0020 1481e600 f0ffff8b 93000000 008b128a  ................
 0030 b25f0100 008a925c 010000c1 e210668b  ._.....\......f.
 0040 925a0100 0001d685 c07e2583 e8012500  .Z.......~%...%.
 0050 f0ffff8d bc060010 000083ec 0c56e8fc  .............V..
 0060 ffffff81 c6001000 0083c410 39fe75ea  ............9.u.
 0070 5b5e5fc3 f30f1efb 55575653 83ec1ce8  [^_.....UWVS....
 0080 fcffffff 81c30200 00008b74 2434bf0f  ...........t$4..
 0090 0000000f 03ff47bd 17000000 0f03ed45  ......G........E
 00a0 8b830000 00008b00 8ab05701 00008a90  ..........W.....
 00b0 54010000 c1e21066 8b905201 000089d1  T......f..R.....
 00c0 8ab05f01 00008a90 5c010000 c1e21066  .._.....\......f
 00d0 8b905a01 00008954 240c39d1 755639ef  ..Z....T$.9.uV9.
 00e0 77668b7c 2430c1e7 1a89fa66 89965201  wf.|$0.....f..R.
 00f0 0000c1ca 10889654 01000088 b6570100  .......T.....W..
 0100 00668996 5a010000 c1ca1088 965c0100  .f..Z........\..
 0110 0088b65f 01000083 ec045557 ff742418  ..._......UW.t$.
 0120 e8fcffff ff83c410 85c07530 83c41c5b  ..........u0...[
 0130 5e5f5dc3 83ec0c8d 83000000 0050e8fc  ^_]..........P..
 0140 ffffff83 c410eb96 83ec0c8d 83000000  ................
 0150 0050e8fc ffffff83 c410eb86 83ec0855  .P.............U
 0160 57e8fcff ffff83c4 10b8f4ff ffffebbc  W...............
 0170 f30f1efb 55575653 83ec0ce8 fcffffff  ....UWVS........
 0180 81c50200 000089eb e8fcffff ff89c385  ................
 0190 c00f8472 020000fc 8b950000 00008b32  ...r...........2
 01a0 b98d0000 0089c7f3 a5c70000 0000008b  ................
 01b0 85000000 008983a8 0000008b 128b82a8  ................
 01c0 00000089 83ac0000 008b4308 894304c7  ..........C..C..
 01d0 430c0000 0000c783 c8000000 00000000  C...............
 01e0 c783b800 00000000 0000c783 d0000000  ................
 01f0 00000000 c783cc00 00000000 0000c783  ................
 0200 d8000000 00000000 c783d400 00000000  ................
 0210 00008b85 00000000 8b008983 dc000000  ................
 0220 c7836001 00000000 00008d83 00100000  ..`.............
 0230 89836401 0000c783 68010000 10000000  ..d.....h.......
 0240 8b442450 89838001 00008b44 24588983  .D$P.......D$X..
 0250 84010000 c7838801 00000000 00008b44  ...............D
 0260 243c8983 8c010000 8b442440 89839001  $<.......D$@....
 0270 00008b44 24388983 94010000 8b44245c  ...D$8.......D$\
 0280 89839801 00008b44 24248983 9c010000  .......D$$......
 0290 8b44242c 8983a001 00008b44 24288983  .D$,.......D$(..
 02a0 a4010000 0fb74424 488983a8 0100000f  ......D$H.......
 02b0 b7442454 8983ac01 00000fb7 44246089  .D$T........D$`.
 02c0 83b00100 000fb744 244c8983 b4010000  .......D$L......
 02d0 0fb74424 448983b8 0100000f b7442430  ..D$D........D$0
 02e0 8983bc01 00008b44 2420c1e0 0483c028  .......D$ .....(
 02f0 8983c001 0000c783 c4010000 00000080  ................
 0300 8b850000 00003b10 742283ec 0853ff74  ......;.t"...S.t
 0310 242ce8fc ffffff83 c41085c0 75168d83  $,..........u...
 0320 f8000000 8d8b4801 0000eb27 ddb3c801  ......H....'....
 0330 0000ebd6 83ec0c53 89ebe8fc ffffff83  .......S........
 0340 c410b8f5 ffffffe9 b5000000 83c00439  ...............9
 0350 c8740d8b 1085d274 f3668342 0401ebec  .t.....t.f.B....
 0360 8b850000 00008b10 8b82ec00 000085c0  ................
 0370 74056683 4030018b 82f00000 0085c074  t.f.@0.........t
 0380 05668340 30018b44 24208d74 00048d0c  .f.@0..D$ .t....
 0390 f5000000 008d8360 0100008b 95000000  .......`........
 03a0 0066c704 f2680066 89441102 c1c81088  .f...h.f.D......
 03b0 441104c6 44110589 c6441106 00886411  D...D....D....d.
 03c0 07c1c810 8d834801 000066c7 44110868  ......H...f.D..h
 03d0 00668944 110ac1c8 10884411 0cc64411  .f.D......D...D.
 03e0 0d82c644 110e0088 64110fc1 c8108b85  ...D....d.......
 03f0 00000000 8b7c2420 891cb88b 85000000  .....|$ ........
 0400 0083c40c 5b5e5f5d c3b8f5ff ffffebf1  ....[^_]........
 0410 f30f1efb 575653e8 fcffffff 81c60200  ....WVS.........
 0420 00008b8e 00000000 bf010000 00eb1583  ................
 0430 c00439d8 74228b10 85d274f3 398aa800  ..9.t"....t.9...
 0440 000075eb 83c1010f 48cf8b86 00000000  ..u.....H.......
 0450 8d980001 0000ebde 898e0000 0000b801  ................
 0460 0000008b 96000000 00833c82 00740d83  ..........<..t..
 0470 c00183f8 4075f2b8 f5ffffff 5b5e5fc3  ....@u......[^_.
Contents of section .rodata.str1.1:
 0000 57652064 6f6e2774 20737570 706f7274  We don't support
 0010 20736570 61726174 65204926 44004261   separate I&D.Ba
 0020 64206461 74615f6c 696d6974 00        d data_limit.   
Contents of section .text.__x86.get_pc_thunk.bx:
 0000 8b1c24c3                             ..$.            
Contents of section .text.__x86.get_pc_thunk.si:
 0000 8b3424c3                             .4$.            
Contents of section .text.__x86.get_pc_thunk.bp:
 0000 8b2c24c3                             .,$.            
Contents of section .comment:
 0000 00474343 3a202855 62756e74 7520392e  .GCC: (Ubuntu 9.
 0010 332e302d 31307562 756e7475 32292039  3.0-10ubuntu2) 9
 0020 2e332e30 00                          .3.0.           
Contents of section .note.gnu.property:
 0000 04000000 0c000000 05000000 474e5500  ............GNU.
 0010 020000c0 04000000 03000000           ............    
Contents of section .eh_frame:
 0000 14000000 00000000 017a5200 017c0801  .........zR..|..
 0010 1b0c0404 88010000 34000000 1c000000  ........4.......
 0020 00000000 74000000 00450e08 8702410e  ....t....E....A.
 0030 0c860341 0e108304 02560e1c 410e204e  ...A.....V..A. N
 0040 0e1045c3 0e0c41c6 0e0841c7 0e040000  ..E...A...A.....
 0050 68000000 54000000 74000000 fc000000  h...T...t.......
 0060 00450e08 8502410e 0c870341 0e108604  .E....A....A....
 0070 410e1483 05430e30 029b0e34 410e3841  A....C.0...4A.8A
 0080 0e3c440e 40480e30 470a0e14 41c30e10  .<D.@H.0G...A...
 0090 41c60e0c 41c70e08 41c50e04 410b430e  A...A...A...A.C.
 00a0 3c470e40 480e3045 0e3c470e 40480e30  <G.@H.0E.<G.@H.0
 00b0 450e3841 0e3c410e 40480e30 54000000  E.8A.<A.@H.0T...
 00c0 c0000000 70010000 a0020000 00450e08  ....p........E..
 00d0 8502410e 0c870341 0e108604 410e1483  ..A....A....A...
 00e0 05430e20 0392010e 28410e2c 440e3048  .C. ....(A.,D.0H
 00f0 0e205d0e 2c410e30 4a0e2002 c20a0e14  . ].,A.0J. .....
 0100 41c30e10 41c60e0c 41c70e08 41c50e04  A...A...A...A...
 0110 410b0000 2c000000 18010000 10040000  A...,...........
 0120 70000000 00450e08 8702410e 0c860341  p....E....A....A
 0130 0e108304 0266c30e 0c41c60e 0841c70e  .....f...A...A..
 0140 04000000 10000000 48010000 00000000  ........H.......
 0150 04000000 00000000 10000000 5c010000  ............\...
 0160 00000000 04000000 00000000 10000000  ................
 0170 70010000 00000000 04000000 00000000  p...............

Disassembly of section .text:

00000000 <verify_area>:
   0:	f3 0f 1e fb          	endbr32 
   4:	57                   	push   %edi
   5:	56                   	push   %esi
   6:	53                   	push   %ebx
   7:	e8 fc ff ff ff       	call   8 <verify_area+0x8>
			8: R_386_PC32	__x86.get_pc_thunk.bx
   c:	81 c3 02 00 00 00    	add    $0x2,%ebx
			e: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
  12:	8b 74 24 10          	mov    0x10(%esp),%esi
  16:	89 f0                	mov    %esi,%eax
  18:	25 ff 0f 00 00       	and    $0xfff,%eax
  1d:	03 44 24 14          	add    0x14(%esp),%eax
  21:	81 e6 00 f0 ff ff    	and    $0xfffff000,%esi
  27:	8b 93 00 00 00 00    	mov    0x0(%ebx),%edx
			29: R_386_GOT32X	current
  2d:	8b 12                	mov    (%edx),%edx
  2f:	8a b2 5f 01 00 00    	mov    0x15f(%edx),%dh
  35:	8a 92 5c 01 00 00    	mov    0x15c(%edx),%dl
  3b:	c1 e2 10             	shl    $0x10,%edx
  3e:	66 8b 92 5a 01 00 00 	mov    0x15a(%edx),%dx
  45:	01 d6                	add    %edx,%esi
  47:	85 c0                	test   %eax,%eax
  49:	7e 25                	jle    70 <verify_area+0x70>
  4b:	83 e8 01             	sub    $0x1,%eax
  4e:	25 00 f0 ff ff       	and    $0xfffff000,%eax
  53:	8d bc 06 00 10 00 00 	lea    0x1000(%esi,%eax,1),%edi
  5a:	83 ec 0c             	sub    $0xc,%esp
  5d:	56                   	push   %esi
  5e:	e8 fc ff ff ff       	call   5f <verify_area+0x5f>
			5f: R_386_PLT32	write_verify
  63:	81 c6 00 10 00 00    	add    $0x1000,%esi
  69:	83 c4 10             	add    $0x10,%esp
  6c:	39 fe                	cmp    %edi,%esi
  6e:	75 ea                	jne    5a <verify_area+0x5a>
  70:	5b                   	pop    %ebx
  71:	5e                   	pop    %esi
  72:	5f                   	pop    %edi
  73:	c3                   	ret    

00000074 <copy_mem>:
  74:	f3 0f 1e fb          	endbr32 
  78:	55                   	push   %ebp
  79:	57                   	push   %edi
  7a:	56                   	push   %esi
  7b:	53                   	push   %ebx
  7c:	83 ec 1c             	sub    $0x1c,%esp
  7f:	e8 fc ff ff ff       	call   80 <copy_mem+0xc>
			80: R_386_PC32	__x86.get_pc_thunk.bx
  84:	81 c3 02 00 00 00    	add    $0x2,%ebx
			86: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
  8a:	8b 74 24 34          	mov    0x34(%esp),%esi
  8e:	bf 0f 00 00 00       	mov    $0xf,%edi
  93:	0f 03 ff             	lsl    %di,%edi
  96:	47                   	inc    %edi
  97:	bd 17 00 00 00       	mov    $0x17,%ebp
  9c:	0f 03 ed             	lsl    %bp,%ebp
  9f:	45                   	inc    %ebp
  a0:	8b 83 00 00 00 00    	mov    0x0(%ebx),%eax
			a2: R_386_GOT32X	current
  a6:	8b 00                	mov    (%eax),%eax
  a8:	8a b0 57 01 00 00    	mov    0x157(%eax),%dh
  ae:	8a 90 54 01 00 00    	mov    0x154(%eax),%dl
  b4:	c1 e2 10             	shl    $0x10,%edx
  b7:	66 8b 90 52 01 00 00 	mov    0x152(%eax),%dx
  be:	89 d1                	mov    %edx,%ecx
  c0:	8a b0 5f 01 00 00    	mov    0x15f(%eax),%dh
  c6:	8a 90 5c 01 00 00    	mov    0x15c(%eax),%dl
  cc:	c1 e2 10             	shl    $0x10,%edx
  cf:	66 8b 90 5a 01 00 00 	mov    0x15a(%eax),%dx
  d6:	89 54 24 0c          	mov    %edx,0xc(%esp)
  da:	39 d1                	cmp    %edx,%ecx
  dc:	75 56                	jne    134 <copy_mem+0xc0>
  de:	39 ef                	cmp    %ebp,%edi
  e0:	77 66                	ja     148 <copy_mem+0xd4>
  e2:	8b 7c 24 30          	mov    0x30(%esp),%edi
  e6:	c1 e7 1a             	shl    $0x1a,%edi
  e9:	89 fa                	mov    %edi,%edx
  eb:	66 89 96 52 01 00 00 	mov    %dx,0x152(%esi)
  f2:	c1 ca 10             	ror    $0x10,%edx
  f5:	88 96 54 01 00 00    	mov    %dl,0x154(%esi)
  fb:	88 b6 57 01 00 00    	mov    %dh,0x157(%esi)
 101:	66 89 96 5a 01 00 00 	mov    %dx,0x15a(%esi)
 108:	c1 ca 10             	ror    $0x10,%edx
 10b:	88 96 5c 01 00 00    	mov    %dl,0x15c(%esi)
 111:	88 b6 5f 01 00 00    	mov    %dh,0x15f(%esi)
 117:	83 ec 04             	sub    $0x4,%esp
 11a:	55                   	push   %ebp
 11b:	57                   	push   %edi
 11c:	ff 74 24 18          	pushl  0x18(%esp)
 120:	e8 fc ff ff ff       	call   121 <copy_mem+0xad>
			121: R_386_PLT32	copy_page_tables
 125:	83 c4 10             	add    $0x10,%esp
 128:	85 c0                	test   %eax,%eax
 12a:	75 30                	jne    15c <copy_mem+0xe8>
 12c:	83 c4 1c             	add    $0x1c,%esp
 12f:	5b                   	pop    %ebx
 130:	5e                   	pop    %esi
 131:	5f                   	pop    %edi
 132:	5d                   	pop    %ebp
 133:	c3                   	ret    
 134:	83 ec 0c             	sub    $0xc,%esp
 137:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			139: R_386_GOTOFF	.LC0
 13d:	50                   	push   %eax
 13e:	e8 fc ff ff ff       	call   13f <copy_mem+0xcb>
			13f: R_386_PLT32	panic
 143:	83 c4 10             	add    $0x10,%esp
 146:	eb 96                	jmp    de <copy_mem+0x6a>
 148:	83 ec 0c             	sub    $0xc,%esp
 14b:	8d 83 00 00 00 00    	lea    0x0(%ebx),%eax
			14d: R_386_GOTOFF	.LC1
 151:	50                   	push   %eax
 152:	e8 fc ff ff ff       	call   153 <copy_mem+0xdf>
			153: R_386_PLT32	panic
 157:	83 c4 10             	add    $0x10,%esp
 15a:	eb 86                	jmp    e2 <copy_mem+0x6e>
 15c:	83 ec 08             	sub    $0x8,%esp
 15f:	55                   	push   %ebp
 160:	57                   	push   %edi
 161:	e8 fc ff ff ff       	call   162 <copy_mem+0xee>
			162: R_386_PLT32	free_page_tables
 166:	83 c4 10             	add    $0x10,%esp
 169:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
 16e:	eb bc                	jmp    12c <copy_mem+0xb8>

00000170 <copy_process>:
 170:	f3 0f 1e fb          	endbr32 
 174:	55                   	push   %ebp
 175:	57                   	push   %edi
 176:	56                   	push   %esi
 177:	53                   	push   %ebx
 178:	83 ec 0c             	sub    $0xc,%esp
 17b:	e8 fc ff ff ff       	call   17c <copy_process+0xc>
			17c: R_386_PC32	__x86.get_pc_thunk.bp
 180:	81 c5 02 00 00 00    	add    $0x2,%ebp
			182: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 186:	89 eb                	mov    %ebp,%ebx
 188:	e8 fc ff ff ff       	call   189 <copy_process+0x19>
			189: R_386_PLT32	get_free_page
 18d:	89 c3                	mov    %eax,%ebx
 18f:	85 c0                	test   %eax,%eax
 191:	0f 84 72 02 00 00    	je     409 <copy_process+0x299>
 197:	fc                   	cld    
 198:	8b 95 00 00 00 00    	mov    0x0(%ebp),%edx
			19a: R_386_GOT32X	current
 19e:	8b 32                	mov    (%edx),%esi
 1a0:	b9 8d 00 00 00       	mov    $0x8d,%ecx
 1a5:	89 c7                	mov    %eax,%edi
 1a7:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
 1a9:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
 1af:	8b 85 00 00 00 00    	mov    0x0(%ebp),%eax
			1b1: R_386_GOTOFF	last_pid
 1b5:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
 1bb:	8b 12                	mov    (%edx),%edx
 1bd:	8b 82 a8 00 00 00    	mov    0xa8(%edx),%eax
 1c3:	89 83 ac 00 00 00    	mov    %eax,0xac(%ebx)
 1c9:	8b 43 08             	mov    0x8(%ebx),%eax
 1cc:	89 43 04             	mov    %eax,0x4(%ebx)
 1cf:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
 1d6:	c7 83 c8 00 00 00 00 	movl   $0x0,0xc8(%ebx)
 1dd:	00 00 00 
 1e0:	c7 83 b8 00 00 00 00 	movl   $0x0,0xb8(%ebx)
 1e7:	00 00 00 
 1ea:	c7 83 d0 00 00 00 00 	movl   $0x0,0xd0(%ebx)
 1f1:	00 00 00 
 1f4:	c7 83 cc 00 00 00 00 	movl   $0x0,0xcc(%ebx)
 1fb:	00 00 00 
 1fe:	c7 83 d8 00 00 00 00 	movl   $0x0,0xd8(%ebx)
 205:	00 00 00 
 208:	c7 83 d4 00 00 00 00 	movl   $0x0,0xd4(%ebx)
 20f:	00 00 00 
 212:	8b 85 00 00 00 00    	mov    0x0(%ebp),%eax
			214: R_386_GOT32X	jiffies
 218:	8b 00                	mov    (%eax),%eax
 21a:	89 83 dc 00 00 00    	mov    %eax,0xdc(%ebx)
 220:	c7 83 60 01 00 00 00 	movl   $0x0,0x160(%ebx)
 227:	00 00 00 
 22a:	8d 83 00 10 00 00    	lea    0x1000(%ebx),%eax
 230:	89 83 64 01 00 00    	mov    %eax,0x164(%ebx)
 236:	c7 83 68 01 00 00 10 	movl   $0x10,0x168(%ebx)
 23d:	00 00 00 
 240:	8b 44 24 50          	mov    0x50(%esp),%eax
 244:	89 83 80 01 00 00    	mov    %eax,0x180(%ebx)
 24a:	8b 44 24 58          	mov    0x58(%esp),%eax
 24e:	89 83 84 01 00 00    	mov    %eax,0x184(%ebx)
 254:	c7 83 88 01 00 00 00 	movl   $0x0,0x188(%ebx)
 25b:	00 00 00 
 25e:	8b 44 24 3c          	mov    0x3c(%esp),%eax
 262:	89 83 8c 01 00 00    	mov    %eax,0x18c(%ebx)
 268:	8b 44 24 40          	mov    0x40(%esp),%eax
 26c:	89 83 90 01 00 00    	mov    %eax,0x190(%ebx)
 272:	8b 44 24 38          	mov    0x38(%esp),%eax
 276:	89 83 94 01 00 00    	mov    %eax,0x194(%ebx)
 27c:	8b 44 24 5c          	mov    0x5c(%esp),%eax
 280:	89 83 98 01 00 00    	mov    %eax,0x198(%ebx)
 286:	8b 44 24 24          	mov    0x24(%esp),%eax
 28a:	89 83 9c 01 00 00    	mov    %eax,0x19c(%ebx)
 290:	8b 44 24 2c          	mov    0x2c(%esp),%eax
 294:	89 83 a0 01 00 00    	mov    %eax,0x1a0(%ebx)
 29a:	8b 44 24 28          	mov    0x28(%esp),%eax
 29e:	89 83 a4 01 00 00    	mov    %eax,0x1a4(%ebx)
 2a4:	0f b7 44 24 48       	movzwl 0x48(%esp),%eax
 2a9:	89 83 a8 01 00 00    	mov    %eax,0x1a8(%ebx)
 2af:	0f b7 44 24 54       	movzwl 0x54(%esp),%eax
 2b4:	89 83 ac 01 00 00    	mov    %eax,0x1ac(%ebx)
 2ba:	0f b7 44 24 60       	movzwl 0x60(%esp),%eax
 2bf:	89 83 b0 01 00 00    	mov    %eax,0x1b0(%ebx)
 2c5:	0f b7 44 24 4c       	movzwl 0x4c(%esp),%eax
 2ca:	89 83 b4 01 00 00    	mov    %eax,0x1b4(%ebx)
 2d0:	0f b7 44 24 44       	movzwl 0x44(%esp),%eax
 2d5:	89 83 b8 01 00 00    	mov    %eax,0x1b8(%ebx)
 2db:	0f b7 44 24 30       	movzwl 0x30(%esp),%eax
 2e0:	89 83 bc 01 00 00    	mov    %eax,0x1bc(%ebx)
 2e6:	8b 44 24 20          	mov    0x20(%esp),%eax
 2ea:	c1 e0 04             	shl    $0x4,%eax
 2ed:	83 c0 28             	add    $0x28,%eax
 2f0:	89 83 c0 01 00 00    	mov    %eax,0x1c0(%ebx)
 2f6:	c7 83 c4 01 00 00 00 	movl   $0x80000000,0x1c4(%ebx)
 2fd:	00 00 80 
 300:	8b 85 00 00 00 00    	mov    0x0(%ebp),%eax
			302: R_386_GOT32X	last_task_used_math
 306:	3b 10                	cmp    (%eax),%edx
 308:	74 22                	je     32c <copy_process+0x1bc>
 30a:	83 ec 08             	sub    $0x8,%esp
 30d:	53                   	push   %ebx
 30e:	ff 74 24 2c          	pushl  0x2c(%esp)
 312:	e8 fc ff ff ff       	call   313 <copy_process+0x1a3>
			313: R_386_PC32	copy_mem
 317:	83 c4 10             	add    $0x10,%esp
 31a:	85 c0                	test   %eax,%eax
 31c:	75 16                	jne    334 <copy_process+0x1c4>
 31e:	8d 83 f8 00 00 00    	lea    0xf8(%ebx),%eax
 324:	8d 8b 48 01 00 00    	lea    0x148(%ebx),%ecx
 32a:	eb 27                	jmp    353 <copy_process+0x1e3>
 32c:	dd b3 c8 01 00 00    	fnsave 0x1c8(%ebx)
 332:	eb d6                	jmp    30a <copy_process+0x19a>
 334:	83 ec 0c             	sub    $0xc,%esp
 337:	53                   	push   %ebx
 338:	89 eb                	mov    %ebp,%ebx
 33a:	e8 fc ff ff ff       	call   33b <copy_process+0x1cb>
			33b: R_386_PLT32	free_page
 33f:	83 c4 10             	add    $0x10,%esp
 342:	b8 f5 ff ff ff       	mov    $0xfffffff5,%eax
 347:	e9 b5 00 00 00       	jmp    401 <copy_process+0x291>
 34c:	83 c0 04             	add    $0x4,%eax
 34f:	39 c8                	cmp    %ecx,%eax
 351:	74 0d                	je     360 <copy_process+0x1f0>
 353:	8b 10                	mov    (%eax),%edx
 355:	85 d2                	test   %edx,%edx
 357:	74 f3                	je     34c <copy_process+0x1dc>
 359:	66 83 42 04 01       	addw   $0x1,0x4(%edx)
 35e:	eb ec                	jmp    34c <copy_process+0x1dc>
 360:	8b 85 00 00 00 00    	mov    0x0(%ebp),%eax
			362: R_386_GOT32X	current
 366:	8b 10                	mov    (%eax),%edx
 368:	8b 82 ec 00 00 00    	mov    0xec(%edx),%eax
 36e:	85 c0                	test   %eax,%eax
 370:	74 05                	je     377 <copy_process+0x207>
 372:	66 83 40 30 01       	addw   $0x1,0x30(%eax)
 377:	8b 82 f0 00 00 00    	mov    0xf0(%edx),%eax
 37d:	85 c0                	test   %eax,%eax
 37f:	74 05                	je     386 <copy_process+0x216>
 381:	66 83 40 30 01       	addw   $0x1,0x30(%eax)
 386:	8b 44 24 20          	mov    0x20(%esp),%eax
 38a:	8d 74 00 04          	lea    0x4(%eax,%eax,1),%esi
 38e:	8d 0c f5 00 00 00 00 	lea    0x0(,%esi,8),%ecx
 395:	8d 83 60 01 00 00    	lea    0x160(%ebx),%eax
 39b:	8b 95 00 00 00 00    	mov    0x0(%ebp),%edx
			39d: R_386_GOT32X	gdt
 3a1:	66 c7 04 f2 68 00    	movw   $0x68,(%edx,%esi,8)
 3a7:	66 89 44 11 02       	mov    %ax,0x2(%ecx,%edx,1)
 3ac:	c1 c8 10             	ror    $0x10,%eax
 3af:	88 44 11 04          	mov    %al,0x4(%ecx,%edx,1)
 3b3:	c6 44 11 05 89       	movb   $0x89,0x5(%ecx,%edx,1)
 3b8:	c6 44 11 06 00       	movb   $0x0,0x6(%ecx,%edx,1)
 3bd:	88 64 11 07          	mov    %ah,0x7(%ecx,%edx,1)
 3c1:	c1 c8 10             	ror    $0x10,%eax
 3c4:	8d 83 48 01 00 00    	lea    0x148(%ebx),%eax
 3ca:	66 c7 44 11 08 68 00 	movw   $0x68,0x8(%ecx,%edx,1)
 3d1:	66 89 44 11 0a       	mov    %ax,0xa(%ecx,%edx,1)
 3d6:	c1 c8 10             	ror    $0x10,%eax
 3d9:	88 44 11 0c          	mov    %al,0xc(%ecx,%edx,1)
 3dd:	c6 44 11 0d 82       	movb   $0x82,0xd(%ecx,%edx,1)
 3e2:	c6 44 11 0e 00       	movb   $0x0,0xe(%ecx,%edx,1)
 3e7:	88 64 11 0f          	mov    %ah,0xf(%ecx,%edx,1)
 3eb:	c1 c8 10             	ror    $0x10,%eax
 3ee:	8b 85 00 00 00 00    	mov    0x0(%ebp),%eax
			3f0: R_386_GOT32X	task
 3f4:	8b 7c 24 20          	mov    0x20(%esp),%edi
 3f8:	89 1c b8             	mov    %ebx,(%eax,%edi,4)
 3fb:	8b 85 00 00 00 00    	mov    0x0(%ebp),%eax
			3fd: R_386_GOTOFF	last_pid
 401:	83 c4 0c             	add    $0xc,%esp
 404:	5b                   	pop    %ebx
 405:	5e                   	pop    %esi
 406:	5f                   	pop    %edi
 407:	5d                   	pop    %ebp
 408:	c3                   	ret    
 409:	b8 f5 ff ff ff       	mov    $0xfffffff5,%eax
 40e:	eb f1                	jmp    401 <copy_process+0x291>

00000410 <find_empty_process>:
 410:	f3 0f 1e fb          	endbr32 
 414:	57                   	push   %edi
 415:	56                   	push   %esi
 416:	53                   	push   %ebx
 417:	e8 fc ff ff ff       	call   418 <find_empty_process+0x8>
			418: R_386_PC32	__x86.get_pc_thunk.si
 41c:	81 c6 02 00 00 00    	add    $0x2,%esi
			41e: R_386_GOTPC	_GLOBAL_OFFSET_TABLE_
 422:	8b 8e 00 00 00 00    	mov    0x0(%esi),%ecx
			424: R_386_GOTOFF	last_pid
 428:	bf 01 00 00 00       	mov    $0x1,%edi
 42d:	eb 15                	jmp    444 <find_empty_process+0x34>
 42f:	83 c0 04             	add    $0x4,%eax
 432:	39 d8                	cmp    %ebx,%eax
 434:	74 22                	je     458 <find_empty_process+0x48>
 436:	8b 10                	mov    (%eax),%edx
 438:	85 d2                	test   %edx,%edx
 43a:	74 f3                	je     42f <find_empty_process+0x1f>
 43c:	39 8a a8 00 00 00    	cmp    %ecx,0xa8(%edx)
 442:	75 eb                	jne    42f <find_empty_process+0x1f>
 444:	83 c1 01             	add    $0x1,%ecx
 447:	0f 48 cf             	cmovs  %edi,%ecx
 44a:	8b 86 00 00 00 00    	mov    0x0(%esi),%eax
			44c: R_386_GOT32X	task
 450:	8d 98 00 01 00 00    	lea    0x100(%eax),%ebx
 456:	eb de                	jmp    436 <find_empty_process+0x26>
 458:	89 8e 00 00 00 00    	mov    %ecx,0x0(%esi)
			45a: R_386_GOTOFF	last_pid
 45e:	b8 01 00 00 00       	mov    $0x1,%eax
 463:	8b 96 00 00 00 00    	mov    0x0(%esi),%edx
			465: R_386_GOT32X	task
 469:	83 3c 82 00          	cmpl   $0x0,(%edx,%eax,4)
 46d:	74 0d                	je     47c <find_empty_process+0x6c>
 46f:	83 c0 01             	add    $0x1,%eax
 472:	83 f8 40             	cmp    $0x40,%eax
 475:	75 f2                	jne    469 <find_empty_process+0x59>
 477:	b8 f5 ff ff ff       	mov    $0xfffffff5,%eax
 47c:	5b                   	pop    %ebx
 47d:	5e                   	pop    %esi
 47e:	5f                   	pop    %edi
 47f:	c3                   	ret    

Disassembly of section .text.__x86.get_pc_thunk.bx:

00000000 <__x86.get_pc_thunk.bx>:
   0:	8b 1c 24             	mov    (%esp),%ebx
   3:	c3                   	ret    

Disassembly of section .text.__x86.get_pc_thunk.si:

00000000 <__x86.get_pc_thunk.si>:
   0:	8b 34 24             	mov    (%esp),%esi
   3:	c3                   	ret    

Disassembly of section .text.__x86.get_pc_thunk.bp:

00000000 <__x86.get_pc_thunk.bp>:
   0:	8b 2c 24             	mov    (%esp),%ebp
   3:	c3                   	ret    
